Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>NoSQL</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/NoSQL"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-NoSQL rootpage-NoSQL skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">NoSQL</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><p>En <a href="Informatique" title="Informatique">informatique</a> et en <a href="Base_de_donn%C3%A9es" title="Base de données">bases de données</a>, <b>NoSQL</b> désigne une famille de <a href="Syst%C3%A8me_de_gestion_de_base_de_donn%C3%A9es" title="Système de gestion de base de données">systèmes de gestion de base de données</a> (SGBD) qui s'écarte du <a href="Paradigme" title="Paradigme">paradigme</a> classique des <a href="Base_de_donn%C3%A9es_relationnelle" title="Base de données relationnelle">bases relationnelles</a>. L'explicitation la plus populaire de l'acronyme est <i><span class="lang-en" lang="en">Not only SQL</span></i> («&nbsp;pas seulement SQL&nbsp;» en anglais) même si cette interprétation peut être discutée<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>.
</p><p>La définition exacte de la famille des SGBD <b>NoSQL</b> reste sujette à débat. Le terme se rattache autant à des caractéristiques techniques qu'à une génération historique de SGBD qui a émergé autour des années 2010<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>. D'après Pramod J. Sadalage et <a href="Martin_Fowler" title="Martin Fowler">Martin Fowler</a>, la raison principale de l'émergence et de l'adoption des SGBD NoSQL serait le développement des <a href="Centre_de_donn%C3%A9es" title="Centre de données">centres de données</a> et la nécessité de posséder un paradigme de bases de données adapté à ce modèle d'<a href="Infrastructure" title="Infrastructure">infrastructure</a> matérielle<sup id="cite_ref-distilled_3-0" class="reference"><a href="#cite_note-distilled-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>.
</p><p>L'architecture machine en <a href="Grappe_de_serveurs" title="Grappe de serveurs">clusters</a> induit une structure logicielle distribuée fonctionnant avec des agrégats répartis sur différents serveurs permettant des accès et modifications <a href="Programmation_concurrente" title="Programmation concurrente">concurrentes</a> mais imposant également de remettre en cause de nombreux fondements de l'architecture SGBD relationnelle traditionnelle, notamment les <a href="Propri%C3%A9t%C3%A9s_ACID" title="Propriétés ACID">propriétés ACID</a>.
</p>

<div class="mw-heading mw-heading2"><h2 id="Éléments_historiques"><span id=".C3.89l.C3.A9ments_historiques"></span>Éléments historiques</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Domination_historique_des_SGBD_relationnels">Domination historique des SGBD relationnels</h3></div>

<p>Les SGBD relationnels créés dans les années 1970 se sont progressivement imposés jusqu'à devenir le paradigme de bases de données très largement dominant au début des années 1990.
</p><p>Plusieurs autres modèles de bases de données ont émergé, tels les <a href="Base_de_donn%C3%A9es_orient%C3%A9e_objet" title="Base de données orientée objet">SGBD orientés objet</a>, <a href="Base_de_donn%C3%A9es_hi%C3%A9rarchique" title="Base de données hiérarchique">SGBD hiérarchiques</a>, <a href="Syst%C3%A8me_de_gestion_de_base_de_donn%C3%A9es_relationnel-objet" title="Système de gestion de base de données relationnel-objet">SGBD relationnel-objet</a> mais leur utilisation est restée très limitée.
</p><p>C'est dans le courant des années 2000 avec le développement de grandes entreprises internet (Google, Amazon, eBay…) brassant des quantités énormes de données et le développement de l'<a href="Grappe_de_serveurs" title="Grappe de serveurs">informatique en grappes</a> que la domination sans partage du <a href="Mod%C3%A8le_relationnel" title="Modèle relationnel">modèle relationnel</a> a été remise en question car souffrant de limites rédhibitoires pour ces nouvelles pratiques.
</p>
<div class="mw-heading mw-heading3"><h3 id="Pionniers_du_modèle_NoSQL"><span id="Pionniers_du_mod.C3.A8le_NoSQL"></span>Pionniers du modèle NoSQL</h3></div>
<p>Ce sont les grandes entreprises du web amenées à traiter des volumes de données très importants qui ont été les premières confrontées aux limitations intrinsèques des SGBD relationnels traditionnels. Ces systèmes fondés sur une application stricte des <a href="Propri%C3%A9t%C3%A9s_ACID" title="Propriétés ACID">propriétés ACID</a> et généralement conçus pour fonctionner sur des ordinateurs uniques ont rapidement posé des problèmes d'<a href="Extensibilit%C3%A9" title="Extensibilité">extensibilité</a>.
</p><p>Afin de répondre à ces limites, ces entreprises ont commencé à développer leurs propres systèmes de gestion de bases de données pouvant fonctionner sur des architectures matérielles distribuées et permettant de traiter des volumes de données importants. Les systèmes qui en ont résulté, <a href="Google" title="Google">Google</a> (<a href="BigTable" title="BigTable">BigTable</a>), <a href="Amazon.com" class="mw-redirect" title="Amazon.com">Amazon</a> (Dynamo&nbsp;<a href="https://en.wikipedia.org/wiki/Dynamo_(storage_system)" class="extiw external" title="en:Dynamo (storage system)"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Dynamo (storage system)&nbsp;»">(en)</span></a>), <a href="LinkedIn" title="LinkedIn">LinkedIn</a> (<a href="Voldemort_(syst%C3%A8me_de_fichiers_distribu%C3%A9)" title="Voldemort (système de fichiers distribué)">Voldemort</a>), Facebook (<a href="Cassandra_(base_de_donn%C3%A9es)" title="Cassandra (base de données)">Cassandra</a> puis <a href="HBase" title="HBase">HBase</a>), <a href="MongoDB" title="MongoDB">MongoDB</a>, <a href="Ubuntu_One" title="Ubuntu One">Ubuntu One</a> (<a href="CouchDB" title="CouchDB">CouchDB</a>), <a href="Baidu" title="Baidu">Baidu</a> (<a href="Hypertable" title="Hypertable">Hypertable</a>) ont été les précurseurs du modèle NoSQL<sup id="cite_ref-professional_4-0" class="reference"><a href="#cite_note-professional-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p><p>Les performances restent bonnes avec la montée en charge en multipliant simplement le nombre de serveurs, solution raisonnable avec la baisse des coûts, en particulier si les revenus croissent en même temps que l'activité<sup id="cite_ref-Rozanski_Woods_5-0" class="reference"><a href="#cite_note-Rozanski_Woods-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>. Les systèmes géants sont les premiers concernés&nbsp;: énormes quantités de données<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>, structuration relationnelle faible (ou de moindre importance que la capacité d'accès très rapide, quitte à multiplier les serveurs).
</p><p>Un modèle typique en NoSQL est le système clé-valeur, avec une base de données pouvant se résumer à un simple <a href="Tableau_associatif" title="Tableau associatif">tableau associatif</a> unidimensionnel avec des millions — voire des milliards — d'entrées. Parmi les applications typiques, on retrouve des analyses temps-réel, statistiques, du stockage de logs (journaux), etc.
</p>
<div class="mw-heading mw-heading3"><h3 id="Invention_et_popularisation_du_terme_NoSQL">Invention et popularisation du terme NoSQL</h3></div>
<p>La parution d'articles présentant ces systèmes propriétaires a conduit au développement de plusieurs projets souvent <a href="Open_source" title="Open source">open source</a> reprenant à la fin des années 2000/début des années 2010 ces grands principes, à savoir des systèmes <a href="Scalability" class="mw-redirect" title="Scalability">scalables</a> par architectures matérielles distribuées, ne visant pas une application stricte du <a href="Propri%C3%A9t%C3%A9s_ACID" title="Propriétés ACID">standard ACID</a>.
</p><p>Le <time class="nowrap" datetime="2009-06-11" data-sort-value="2009-06-11">11 juin 2009</time>, Johan Oskarsson, ingénieur informaticien à <a href="Londres" title="Londres">Londres</a>, souhaite organiser une rencontre <i><span class="lang-en" lang="en">meetup</span></i> à <a href="San_Francisco" title="San Francisco">San Francisco</a> pour effectuer un tour d'horizon de ces nouveaux systèmes <span class="citation">«&nbsp;open-source, distribués et non-relationnels&nbsp;»</span>. Il souhaite un nom percutant et facile à retenir pour cette conférence, après avoir consulté le canal <a href="Internet_Relay_Chat" title="Internet Relay Chat">IRC</a> #Cassandra, le nom «&nbsp;NoSQL&nbsp;» est retenu. Cette dénomination ne devait initialement servir qu'à désigner cette convention mais elle passera à la postérité en devenant la désignation de cette génération d'outils. L'interprétation «&nbsp;<i><span class="lang-en" lang="en">not only SQL</span></i>&nbsp;» ne sera inventée plus tard que comme <a href="R%C3%A9tro-acronyme" class="mw-redirect" title="Rétro-acronyme">rétro-acronyme</a><sup id="cite_ref-distilled_3-1" class="reference"><a href="#cite_note-distilled-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>.
</p><p>De nombreux spécialistes se sont plaints de l'inexactitude du terme «&nbsp;NoSQL&nbsp;» et des confusions qu'il pouvait créer, lui préférant parfois le terme «&nbsp;NoRel&nbsp;» («&nbsp;<i><span class="lang-en" lang="en">not only relational</span></i>&nbsp;») ou d'autres désignations plus spécifiques, mais le terme reste le plus populaire<sup id="cite_ref-distilled_3-2" class="reference"><a href="#cite_note-distilled-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-professional_4-1" class="reference"><a href="#cite_note-professional-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Convention_NoSQL_de_2009">Convention NoSQL de 2009</h3></div>
<p>Plus de cent développeurs de logiciels ont assisté à des présentations de solutions telles que <a href="Voldemort_(syst%C3%A8me_de_fichiers_distribu%C3%A9)" title="Voldemort (système de fichiers distribué)">Project Voldemort</a>, <a href="Cassandra_(base_de_donn%C3%A9es)" title="Cassandra (base de données)">Cassandra</a>, Dynomite, <a href="HBase" title="HBase">HBase</a>, <a href="Hypertable" title="Hypertable">Hypertable</a>, <a href="CouchDB" title="CouchDB">CouchDB</a> et <a href="MongoDB" title="MongoDB">MongoDB</a>.
</p><p>La rencontre de 2009 à San Francisco est considérée comme l'inauguration de la communauté des développeurs de logiciels NoSQL. Des développeurs qui, selon le magazine <a href="Computerworld" title="Computerworld">Computerworld</a>, <span class="citation">«&nbsp;racontent comment ils ont renversé la tyrannie des coûteux et lents SGBD relationnels par des moyens plus simples et plus rapides de manipuler des données&nbsp;»</span>. Selon Jon Travis, un des présentateurs de la conférence, <span class="citation">«&nbsp;les SGBD relationnels en font trop, alors que les produits NoSQL font exactement ce dont vous avez besoin&nbsp;»</span>. Les leaders de cette communauté sont majoritairement des <a href="Start-up" title="Start-up">start-up</a> qui n'avaient pas les moyens d'acquérir les licences <a href="Oracle_Corporation" class="mw-redirect" title="Oracle Corporation">Oracle</a>, et ont donc développé leurs propres SGBD en imitant les produits de <a href="Google" title="Google">Google</a> et d'<a href="Amazon.com" class="mw-redirect" title="Amazon.com">Amazon.com</a>. Les produits qu'ils ont créés peuvent manipuler de très grandes quantités de données (centaines de <a href="T%C3%A9raoctet" class="mw-redirect" title="Téraoctet">téraoctets</a>) et offrent une <a href="Scalabilit%C3%A9" class="mw-redirect" title="Scalabilité">évolutivité à la charge</a> adaptée aux besoins des applications <a href="Web_2.0" title="Web 2.0">Web&nbsp;2.0</a>, ce qui les rend pertinents. Les auteurs décrivent leurs produits comme n'étant pas des SGBD, mais plutôt des logiciels de <i>stockage</i> de données<sup id="cite_ref-meetup_8-0" class="reference"><a href="#cite_note-meetup-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>.
</p><p>Les SGBD non relationnels, plus anciens que les SGBD relationnels, sont classiques sur les <a href="Mainframe" class="mw-redirect" title="Mainframe">mainframes</a> et les logiciels d'<a href="Annuaire" title="Annuaire">annuaire</a>, performants là où les lectures sont bien plus fréquentes que les écritures (par exemple <a href="LDAP" class="mw-redirect" title="LDAP">LDAP</a>). Leur principe connaît une nouvelle jeunesse avec le <i>NoSQL</i>, porté par le domaine des services Internet, car la plupart des logiciels NoSQL sont destinés à permettre la <a href="R%C3%A9partition_de_charge" title="Répartition de charge">répartition de charge</a> des grands services Internet.
</p><p>En 2011, un travail de spécification pour un langage de manipulation standardisé a débuté sous le nom de UnQL (<i><span class="lang-en" lang="en">Unstructured Query Language</span></i>). Il se propose de formaliser la façon dont les bases NoSQL font des requêtes dans les collections (le pendant des tables de données pour les bases relationnelles). Bien qu'UnQL ait été présenté comme une abstraction au-dessus de SQL, ce dernier correspondant à un UnQL très contraint, il a été rappelé qu'UnQL ne recouvre pas tout le <a href="Langage_de_d%C3%A9finition_de_donn%C3%A9es" title="Langage de définition de données">LDD</a> de SQL. En réalité, les deux domaines, bases relationnelles et NoSQL, répondant à des besoins et des contraintes différents, coexistent souvent dans les <a href="MVC" class="mw-disambig" title="MVC">architectures métiers</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Théorie"><span id="Th.C3.A9orie"></span>Théorie</h2></div>
<p>Les caractéristiques principales des SGBD NoSQL sont de permettre la manipulation de volumes de données importants et de permettre une scalabilité horizontale. Ces systèmes ne respectent en général pas les standards des SGBD relationnels&nbsp;: il ne s'agit pas à proprement parler d'une propriété recherchée, mais plutôt d'une concession permettant des traitements plus rapides pour certains types d'applications.
</p><p>À ce titre, les structures des SGBD restent en date de 2016 très hétérogènes. Nous pouvons cependant citer quelques familles principales émergentes.
</p>
<div class="mw-heading mw-heading3"><h3 id="NoSQL_orienté-agrégats"><span id="NoSQL_orient.C3.A9-agr.C3.A9gats"></span>NoSQL orienté-agrégats</h3></div>
<p>Une des caractéristiques retrouvées dans de nombreux SGBD NoSQL est l'utilisation d’«&nbsp;agrégats de données&nbsp;» constitués d'un ensemble de données souvent «&nbsp;consultées/modifiées en même temps&nbsp;» et qui peuvent être déployées sur des serveurs indépendants<sup id="cite_ref-distilled_3-3" class="reference"><a href="#cite_note-distilled-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>.
</p><p>À titre d'exemple, considérons une application de commerce-en-ligne conçue de manière à accéder fréquemment aux informations d'un client (adresses, etc) et à l'historique de ses achats (par exemple pour lui proposer des réductions).
</p>
<ul><li>Un SGBD relationnel typique modélisera ce système en créant une table des informations clients et une table des achats, puis en effectuant une jointure entre ces dernières à chaque opération. Cette architecture pourra poser un problème lorsque le nombre de clients/achats deviendra important et sera difficile à répartir entre plusieurs serveurs.</li>
<li>A contrario, une architecture SGBD NoSQL typique aura tendance à modéliser ce problème en un ensemble d'agrégats constitué des informations d'un client et de ses achats. Cette architecture est plus facilement scalable. En effet, ces agrégats interagissent peu entre eux et peuvent facilement être répartis sur un cluster de serveurs. Cette architecture pourra par contre poser un problème si pour une raison quelconque on est amené à effectuer des requêtes qui ne correspondent pas aux cas d'utilisation immédiatement considérés. Par exemple, une demande de calcul du nombre total de clients ou d'achats pourra être moins efficace que dans un système relationnel qui conserve l'ensemble des clients (resp. achats) dans une table unique.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="NoSQL_orienté-graphes"><span id="NoSQL_orient.C3.A9-graphes"></span>NoSQL orienté-graphes</h3></div>

<p>Les <a href="Bases_de_donn%C3%A9es_orient%C3%A9es_graphe" class="mw-redirect" title="Bases de données orientées graphe">bases de données orientées graphe</a> permettent de stocker les données sous forme de graphe et de faciliter l'écriture des requêtes en supprimant la plupart des jointures. Par rapport aux bases relationnelles, l'efficacité de ces bases est variable en fonction des systèmes et tâches et des configurations<sup id="cite_ref-benchmark_9-0" class="reference"><a href="#cite_note-benchmark-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>.
Ces données sont typiquement celles des réseaux sociaux, réseaux de transport, topologies ou systèmes de recommandation de documents.
</p><p>On distingue habituellement les <a href="Triplestore" title="Triplestore"> triplestores</a> des bases de données orientées-graphe. Les bases de données graphe fonctionnent avec différents types de graphe (ex.&nbsp;: pondérés, clusters, graphe et tables mixtes) et offrent souvent de meilleures performances pour les traversées de graphes<sup id="cite_ref-benchmark_9-1" class="reference"><a href="#cite_note-benchmark-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>. Les <a href="Triplestore" title="Triplestore"> triplestores</a> gèrent exclusivement des graphes binaires de triplets <a href="Resource_Description_Framework" title="Resource Description Framework">RDF</a> (donc centrés sur les relations) mais proposent des inférences.
Les <a href="Langage_de_requ%C3%AAte" title="Langage de requête">langages de requête</a> dépendent des bases, les <a href="Triplestore" title="Triplestore"> triplestores</a> fonctionnent exclusivement avec le langage <a href="SPARQL" title="SPARQL">SPARQL</a>, voir <a href="Base_de_donn%C3%A9es_orient%C3%A9e_graphe" title="Base de données orientée graphe">article détaillé</a> à propos de langages de requête.
</p><p>Pour les <a href="Bases_de_donn%C3%A9es_orient%C3%A9es_graphe" class="mw-redirect" title="Bases de données orientées graphe">bases de données orientées graphe</a>, l'utilisation de schéma de données n'est pas toujours nécessaire.
</p>
<div class="mw-heading mw-heading3"><h3 id="NoSQL_sans-schéma"><span id="NoSQL_sans-sch.C3.A9ma"></span>NoSQL sans-schéma</h3></div>
<p>La première étape de la création d'une base de données relationnelle est de définir son schéma, c'est-à-dire l'ensemble des tables la composant et l'ensemble des champs de ces tables. Cette étape crée une certaine rigidité dans l'implémentation, implique d'avoir une vision assez claire des évolutions de l'application et peut poser un problème si la structure des données recueillies change dans le temps.
Les systèmes NoSQL sans-schéma peuvent ignorer cette étape et stocker des données hétérogènes au fur et à mesure de leur alimentation. Cette utilisation permet une grande flexibilité et des capacités d'adaptation au niveau de la base de données. La contrepartie est que les applications qui liront la base de données devront être capables d'intégrer des données plus hétérogènes et de structure plus complexe.
</p>
<div class="mw-heading mw-heading3"><h3 id="Autres">Autres</h3></div>

<p>Les <a href="Propri%C3%A9t%C3%A9s_ACID" title="Propriétés ACID">capacités ACID</a> garantissent que si plusieurs utilisateurs font de manière simultanée des modifications des données, toutes les modifications vont être prises en compte, dans un ordre précis et maîtrisé, de manière à avoir un résultat cohérent (<a href="Int%C3%A9grit%C3%A9_(cryptographie)" title="Intégrité (cryptographie)">intégrité des données</a>) avec l'historique des modifications faites par chacun. La mise en œuvre stricte des capacités ACID entraîne des coûts logiciels importants et un niveau de performance moindre à infrastructure matérielle équivalente.
</p><p>Les <a href="SGBD" class="mw-redirect" title="SGBD">SGBD</a> d'annuaires ont servi de modèle en permettant de lever certaines de ces contraintes en fonction de l'usage, en particulier dans les cas où la grande majorité des accès aux bases de données consiste en lectures sans modification (dans ce cas, seule la propriété de persistance importe).
</p><p>Pour faire face à des volumes importants de données, auxquelles on accède de différents endroits du monde, il faut pouvoir répliquer ces données sur différentes machines physiques, c'est ce que l'on appelle un environnement distribué. Le <a href="Th%C3%A9or%C3%A8me_CAP" title="Théorème CAP">théorème CAP</a> démontre qu'il n'est pas possible d'assurer des transactions totalement ACID dans un environnement distribué.
</p><p>Le <a href="Paxos_(informatique)" title="Paxos (informatique)">protocole Paxos</a> a des performances comparables à celles de l'algorithme de consensus de Chandra-Toueg&nbsp;<a href="https://en.wikipedia.org/wiki/Chandra-Toueg_consensus_algorithm" class="extiw external" title="en:Chandra-Toueg consensus algorithm"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Chandra-Toueg consensus algorithm&nbsp;»">(en)</span></a> dans un environnement distribué<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> et utilisables pour des applications concrètes<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>, notamment dans le cloud<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>. Il est possible d'inclure ce protocole dans une application en conservant en partie les contraintes ACID<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>.
</p><p>Les solutions du marché implémentent ce protocole en ajoutant leurs techniques propres pour limiter les conséquences de l'impossibilité d'ACID lors des écritures et mises à jour de données.
</p>
<div class="mw-heading mw-heading2"><h2 id="Marché"><span id="March.C3.A9"></span>Marché</h2></div>
<p>Les SGBD relationnels sont largement répandus dans les entreprises. Dimensionnés pour une quantité d'informations et un nombre d'utilisateurs typiques d'une entreprise, ils ont pour fonction principale le <a href="Traitement_transactionnel_en_ligne" title="Traitement transactionnel en ligne">traitement de transactions</a>.
</p><p>Ils montrent cependant leurs limites lorsqu'ils sont utilisés dans un périmètre plus large, tel qu'un site web populaire, en <a href="R%C3%A9partition_de_charge" title="Répartition de charge">répartition de charge</a> (<i><span class="lang-en" lang="en">load balancing</span></i>), fréquenté par des millions de visiteurs dans le monde entier&nbsp;: les SGBD relationnels exigeraient alors des logiciels et des ordinateurs coûteux ainsi que des compétences en optimisation peu répandues.
</p><p>Ce segment de marché est de ce fait occupé par les <a href="Logiciel" title="Logiciel">logiciels</a> <i>NoSQL</i>, conçus spécifiquement pour un usage de type <a href="Internet" title="Internet">Internet</a><sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>. Ces produits abandonnent la représentation matricielle de l'information et le langage de commande <a href="Structured_Query_Language" title="Structured Query Language">SQL</a> en échange d'une simplicité, d'une performance et surtout d'une <a href="Scalabilit%C3%A9" class="mw-redirect" title="Scalabilité">scalabilité</a> accrues<sup id="cite_ref-Rozanski_Woods_5-1" class="reference"><a href="#cite_note-Rozanski_Woods-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>. La complexité de mise en œuvre du traitement des <a href="Transaction_informatique" title="Transaction informatique">transactions</a> a été réduite dans le but d'obtenir des services plus simples et plus spécialisés<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>.
</p><p>Simple à mettre en œuvre, le <a href="Stockage_d'information" title="Stockage d'information">stockage d'information</a> à l'aide de <a href="Tableau_associatif" title="Tableau associatif">tableaux associatifs</a> (dits <i>clé&nbsp;/&nbsp;valeur</i>) existe depuis le début de l'histoire des <a href="Bases_de_donn%C3%A9es" class="mw-redirect" title="Bases de données">bases de données</a>, en 1970. Des langages comme <a href="Perl_(langage)" title="Perl (langage)">Perl</a> et <a href="PHP" title="PHP">PHP</a> les ont rendus familiers aux programmeurs. Les nouvelles demandes en rapport avec les <a href="Site_Web" class="mw-redirect" title="Site Web">sites web</a> de grande audience apparus dans les années&nbsp;2000 et la facilité de mise en œuvre des tableaux associatifs ont fait émerger ces solutions. Elles ont comme point commun l'abandon du langage SQL et sont donc nommées <i>NoSQL</i>. Cela ne signifie pas qu'aucune ne proposera jamais ce langage <i>en option</i><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>.
</p><p>Dans le marché des SGBD <i>NoSQL</i> se trouvent <a href="Cassandra_(base_de_donn%C3%A9es)" title="Cassandra (base de données)">Cassandra</a>, <a href="MongoDB" title="MongoDB">MongoDB</a>, Voldemort, <a href="CouchDB" title="CouchDB">CouchDB</a> et <a href="SimpleDB" class="mw-redirect" title="SimpleDB">SimpleDB</a>. Lors d'un sondage réalisé en 2010 auprès de professionnels de l'informatique, 44&nbsp;% des sondés répondaient encore qu'ils n'avaient jamais entendu parler de NoSQL<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Exemples">Exemples</h2></div>
<p>Exemples de produits NoSQL&nbsp;:
</p>
<ul><li><a href="Accumulo" title="Accumulo">Accumulo</a>, <a href="Apache_Software_Foundation" title="Apache Software Foundation">fondation Apache</a>, <a href="Licence_Apache" title="Licence Apache">Licence Apache 2.0</a>, dérivé d'Hadoop avec des fonctions de sécurité augmentées</li>
<li><a href="Berkeley_DB" title="Berkeley DB">Berkeley DB</a>, Oracle Corporation, il existe deux versions en licence libre et propriétaire</li>
<li><a href="BigTable" title="BigTable">BigTable</a>, Google, privé, depuis <time class="nowrap" datetime="2015-05" data-sort-value="2015-05">mai 2015</time> il existe une version publique sous licence propriétaire</li>
<li><a href="Hypertable" title="Hypertable">Hypertable</a>, Zvents, <a href="GNU_GPL" class="mw-redirect" title="GNU GPL">GNU GPL</a> 2.0, sponsorisé par <a href="Baidu" title="Baidu">Baidu</a> depuis 2009</li>
<li><a href="Cassandra_(base_de_donn%C3%A9es)" title="Cassandra (base de données)">Cassandra</a>, fondation Apache, <a href="Licence_Apache" title="Licence Apache">Licence Apache 2.0</a>, utilisé par <a href="Twitter" class="mw-redirect" title="Twitter">Twitter</a>, Digg...</li>
<li><a href="CouchDB" title="CouchDB">CouchDB</a>, fondation Apache, <a href="Licence_Apache" title="Licence Apache">Licence Apache 2.0</a>, NoSQL orienté-document</li>
<li><a href="DEX" class="mw-disambig" title="DEX">DEX/Sparksee</a>, Sparsity Technologies, propriétaire, NoSQL orienté graphe</li>
<li>DocumentDB, <a href="Microsoft_Azure" title="Microsoft Azure">Microsoft Azure</a>, propriétaire</li>
<li>DynamoDB&nbsp;<a href="https://en.wikipedia.org/wiki/Amazon_DynamoDB" class="extiw external" title="en:Amazon DynamoDB"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Amazon_DynamoDB&nbsp;»">(en)</span></a>, Amazon, propriétaire, utilisable essentiellement via <a href="Amazon_Web_Services" title="Amazon Web Services">Amazon Web Services</a></li>
<li>Elassandra, version augmentée de Cassandra intégrant un moteur de recherche <a href="Elasticsearch" title="Elasticsearch">Elasticsearch</a>, sous <a href="Licence_Apache" title="Licence Apache">Licence Apache 2.0</a></li>
<li><a href="HBase" title="HBase">HBase</a>, fondation Apache, <a href="Licence_Apache" title="Licence Apache">Licence Apache 2.0</a>, dérivé d'Hadoop, utilisé notamment par Facebook</li>
<li><a href="MongoDB" title="MongoDB">MongoDB</a>, MongoDB Inc., <a href="GNU_AGPL" class="mw-redirect" title="GNU AGPL">GNU AGPL</a>, NoSQL orienté-document</li>
<li><a href="Neo4j" title="Neo4j">Neo4j</a>, Neo Technology Inc, <a href="GNU_GPL" class="mw-redirect" title="GNU GPL">GNU GPLv</a>3 et <a href="GNU_AGPL" class="mw-redirect" title="GNU AGPL">GNU AGPLv</a>3, NoSQL orienté graphe</li>
<li><a href="OrientDB" title="OrientDB">OrientDB</a>, OrientDB Ltd, <a href="Licence_Apache" title="Licence Apache">Licence Apache 2.0</a>, NoSQL orienté graphe</li>
<li><a href="Voldemort_(syst%C3%A8me_de_fichiers_distribu%C3%A9)" title="Voldemort (système de fichiers distribué)">projet Voldemort</a>, LinkedIn, privé avec versions publiques sous Apache License 2, stockage de données distribué</li>
<li><a href="Redis" title="Redis">Redis</a>, Salvatore Sanfilippo sponsorisé par RedisLab, <a href="Licence_BSD" title="Licence BSD">licence BSD</a></li>
<li><a href="Riak" title="Riak">Riak</a>, Basho Technologies, <a href="Licence_Apache" title="Licence Apache">Licence Apache 2.0</a> avec modules complémentaires payants (propriétaires), inspiré de DynamoDB</li>
<li>ScyllaDB&nbsp;<a href="https://en.wikipedia.org/wiki/ScyllaDB" class="extiw external" title="en:ScyllaDB"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;ScyllaDB&nbsp;»">(en)</span></a><sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>, ScyllaDB, Inc, <a href="GNU_Affero_General_Public_License" title="GNU Affero General Public License">GNU AGPL</a>, utilisé par <a href="Discord_(logiciel)" title="Discord (logiciel)">Discord</a><sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup>, <a href="Rakuten" title="Rakuten">Rakuten</a>…</li>
<li><a href="SimpleDB" class="mw-redirect" title="SimpleDB">SimpleDB</a> (Amazon.com), mis à disposition via <a href="Amazon_Web_Services" title="Amazon Web Services">Amazon Web Services</a></li>
<li><a href="Oracle_(entreprise)" title="Oracle (entreprise)">Oracle</a> NoSQL&nbsp;<a href="https://en.wikipedia.org/wiki/Oracle_NoSQL_Database" class="extiw external" title="en:Oracle NoSQL Database"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Oracle NoSQL Database&nbsp;»">(en)</span></a>, Oracle Corporation, propriétaire</li>
<li>MentDB Weak, Jimmitry Payet, <a href="GPLv3" class="mw-redirect" title="GPLv3">GNU GPLv3</a>, NoSQL et gestionnaire de processus</li></ul>
<p>Bases de données relationnelles ayant une interface NoSQL&nbsp;:
</p>
<ul><li><a href="MySQL" title="MySQL">MySQL</a> avec le moteur <a href="InnoDB" title="InnoDB">InnoDB</a> et l'interface memcached</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text">Notamment parce que les SGBD relationnels (Postgres, Oracle, SQLServer…) bien qu'étant inclus dans le «&nbsp;<i><span class="lang-en" lang="en">not only SQL</span></i>&nbsp;» ne sont en général pas inclus dans la famille «&nbsp;NoSQL&nbsp;»</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a> </span><span class="reference-text">À titre d'exemple, les <a href="Base_de_donn%C3%A9es_orient%C3%A9e_objet" title="Base de données orientée objet">SGBD orientés objet</a>, bien que «&nbsp;non SQL&nbsp;», ne sont en général pas considérés comme appartenant à la famille «&nbsp;non SQL&nbsp;».</span>
</li>
<li id="cite_note-distilled-3"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Pramod J. Sadalage et <a href="Martin_Fowler" title="Martin Fowler">Martin Fowler</a>, <i><span class="lang-en" lang="en">NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence</span></i>, <a href="Addison-Wesley" title="Addison-Wesley">Addison-Wesley</a> Professional, 8 août 2012 <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">0321826620</span>)</small>.</span>
</li>
<li id="cite_note-professional-4"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Shashank Tiwari, <i><span class="lang-en" lang="en">Professional NoSQL</span></i>, <a href="John_Wiley_%26_Sons" title="John Wiley &amp; Sons">John Wiley &amp; Sons</a>, 2011 <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">9781118167809</span>)</small></span>
</li>
<li id="cite_note-Rozanski_Woods-5"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Nick Rozanski, Eoin Woods, <i>Software systems architecture: Working with Stakeholders using viewpoints and perspectives</i>, <a href="Addison-Wesley" title="Addison-Wesley">Addison-Wesley</a> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">9780132906128</span>)</small></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a> </span><span class="reference-text"><a rel="nofollow" class="external text" href="http://www.journaldunet.com/solutions/dsi/informatique-de-facebook/hadoop-chez-facebook.shtml">30 pétaoctets pour une migration Facebook</a></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a> </span><span class="reference-text">Note&nbsp;: le terme «&nbsp;NoSQL&nbsp;» a été pour la première fois utilisé en 1998 par Carlo Strozzi pour désigner un système relationnel n'utilisant pas le langage SQL (<a rel="nofollow" class="external text" href="http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/nosql/Home%20Page">«&nbsp;<span class="lang-en" lang="en">NoSQL: A Relational Database Management System</span>&nbsp;»</a>), cette utilisation antérieure est une coïncidence sans lien avec la famille de SGBD discutée dans le présent article.</span>
</li>
<li id="cite_note-meetup-8"><span class="mw-cite-backlink"><a href="#cite_ref-meetup_8-0">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam_">«&nbsp;<span class="lang-en" lang="en">No to SQL? Anti-database movement gains steam</span>&nbsp;»</a>.</span>
</li>
<li id="cite_note-benchmark-9"><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.arangodb.com/2015/10/benchmark-postgresql-mongodb-arangodb/"><cite style="font-style:normal;" lang="en">Benchmark: PostgreSQL, MongoDB, Neo4j, OrientDB and ArangoDB</cite></a>&nbsp;», sur <span class="italique">arangodb.com</span></span></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a> </span><span class="reference-text"><span class="ouvrage" id="NaohiroPéterAndréTakuya2002"><span class="ouvrage" id="Hayashibara,_NaohiroUrbán,_PéterSchiper,_AndréKatayama,_Takuya2002">Hayashibara, <span class="nom_auteur">Naohiro</span>, Urbán, <span class="nom_auteur">Péter</span>, Schiper, <span class="nom_auteur">André</span> et Katayama, <span class="nom_auteur">Takuya</span>, «&nbsp;<cite style="font-style:normal">Performance Comparison Between the Paxos and Chandra-Toueg Consensus Algorithms</cite>&nbsp;», <i>Infoscience EPFL</i>,‎ <time>2002</time> <small style="line-height:1em;">(<a rel="nofollow" class="external text" href="https://infoscience.epfl.ch/record/52482">lire en ligne</a>, consulté le <time class="nowrap" datetime="2018-01-19" data-sort-value="2018-01-19">19 janvier 2018</time>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=Performance+Comparison+Between+the+Paxos+and+Chandra-Toueg+Consensus+Algorithms&amp;rft.jtitle=Infoscience+EPFL&amp;rft.aulast=Naohiro&amp;rft.aufirst=Hayashibara%2C&amp;rft.au=P%C3%A9ter%2C+Urb%C3%A1n%2C&amp;rft.au=Andr%C3%A9%2C+Schiper%2C&amp;rft.au=Takuya%2C+Katayama%2C&amp;rft.date=2002&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3ANoSQL"></span></span></span></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><a href="#cite_ref-11">↑</a> </span><span class="reference-text"><span class="ouvrage" id="VieiraBuzato2013"><span class="ouvrage" id="Gustavo_M._D._VieiraLuiz_E._Buzato2013">Gustavo M. D. <span class="nom_auteur">Vieira</span> et Luiz E. <span class="nom_auteur">Buzato</span>, «&nbsp;<cite style="font-style:normal">The Performance of Paxos and Fast Paxos</cite>&nbsp;», <i>arXiv:1308.1358 [cs]</i>,‎ <time class="nowrap" datetime="2013-08-06" data-sort-value="2013-08-06">6 août 2013</time> <small style="line-height:1em;">(<a rel="nofollow" class="external text" href="https://arxiv.org/abs/1308.1358">lire en ligne</a>, consulté le <time class="nowrap" datetime="2018-01-19" data-sort-value="2018-01-19">19 janvier 2018</time>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=The+Performance+of+Paxos+and+Fast+Paxos&amp;rft.jtitle=arXiv%3A1308.1358+%5Bcs%5D&amp;rft.aulast=Vieira&amp;rft.aufirst=Gustavo+M.+D.&amp;rft.au=Buzato%2C+Luiz+E.&amp;rft.date=2013-08-06&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3ANoSQL"></span></span></span></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><a href="#cite_ref-12">↑</a> </span><span class="reference-text"><span class="ouvrage" id="MarandiBenzPedoneBirman2014"><span class="ouvrage" id="Parisa_Jalili_MarandiSamuel_BenzFernando_PedoneKen_Birman2014">Parisa Jalili <span class="nom_auteur">Marandi</span>, Samuel <span class="nom_auteur">Benz</span>, Fernando <span class="nom_auteur">Pedone</span> et Ken <span class="nom_auteur">Birman</span>, «&nbsp;<cite style="font-style:normal">Practical Experience Report: The Performance of Paxos in the Cloud</cite>&nbsp;», <i>arXiv:1404.6719 [cs]</i>,‎ <time class="nowrap" datetime="2014-04-27" data-sort-value="2014-04-27">27 avril 2014</time> <small style="line-height:1em;">(<a rel="nofollow" class="external text" href="https://arxiv.org/abs/1404.6719">lire en ligne</a>, consulté le <time class="nowrap" datetime="2018-01-19" data-sort-value="2018-01-19">19 janvier 2018</time>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=Practical+Experience+Report%3A+The+Performance+of+Paxos+in+the+Cloud&amp;rft.jtitle=arXiv%3A1404.6719+%5Bcs%5D&amp;rft.aulast=Marandi&amp;rft.aufirst=Parisa+Jalili&amp;rft.au=Benz%2C+Samuel&amp;rft.au=Pedone%2C+Fernando&amp;rft.au=Birman%2C+Ken&amp;rft.date=2014-04-27&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3ANoSQL"></span></span></span></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><a href="#cite_ref-13">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2013"><abbr class="abbr indicateur-langue" title="Langue : anglais américain">(en-US)</abbr> «&nbsp;<cite style="font-style:normal" lang="en-us">How Clustrix Maintains ACID in a Clustered Environment - Clustrix</cite>&nbsp;», <i><span class="lang-en-us" lang="en-us">Clustrix</span></i>,‎ <time class="nowrap" datetime="2013-05-16" data-sort-value="2013-05-16">16 mai 2013</time> <small style="line-height:1em;">(<a rel="nofollow" class="external text" href="https://www.clustrix.com/bettersql/clustrix-maintains-acid/">lire en ligne</a>, consulté le <time class="nowrap" datetime="2018-01-19" data-sort-value="2018-01-19">19 janvier 2018</time>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=How+Clustrix+Maintains+ACID+in+a+Clustered+Environment+-+Clustrix&amp;rft.jtitle=Clustrix&amp;rft.date=2013-05-16&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3ANoSQL"></span></span></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><a href="#cite_ref-14">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.cs.rutgers.edu/~pxk/417/notes/content/transactions.html"><cite style="font-style:normal;" lang="en">Distributed Transactions</cite></a>&nbsp;», sur <span class="italique">www.cs.rutgers.edu</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2018-01-19" data-sort-value="2018-01-19">19 janvier 2018</time>)</small></span></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><a href="#cite_ref-15">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Adriaan De Jonge, <i>Essential App Engine: Building High-Performance Java Apps with Google App Engine</i>, Addison-Wesley Professional, 2011 <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">9780321742636</span>)</small></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><a href="#cite_ref-16">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Daniel A. Keim, Jörn Kohlhammer, Geoffrey Ellis, Florian Mansmann, <i>Mastering the Information Age - Solving Problems with Visual Analytics</i> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">9783905673777</span>)</small></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><a href="#cite_ref-17">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Pete Warden, <i>Big Data Glossary</i>, O'Reilly Media, 2011 <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">9781449314590</span>)</small></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><a href="#cite_ref-18">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.informationweek.com/news/software/info_management/227500077?queryText=nosql+survey">Informations Week: Surprise: 44% Of Business IT Pros Never Heard Of NoSQL</a></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><a href="#cite_ref-19">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Angell"><span class="ouvrage" id="Julia_Angell"><abbr class="abbr indicateur-langue" title="Langue : anglais américain">(en-US)</abbr> Julia <span class="nom_auteur">Angell</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.scylladb.com/"><cite style="font-style:normal;" lang="en-us">Home</cite></a>&nbsp;», sur <span class="italique">ScyllaDB</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-03-08" data-sort-value="2023-03-08">8 mars 2023</time>)</small></span></span></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><a href="#cite_ref-20">↑</a> </span><span class="reference-text"><span class="ouvrage">«&nbsp;<a rel="nofollow" class="external text" href="https://discord.com/blog/how-discord-stores-trillions-of-messages"><cite style="font-style:normal;">How Discord Stores Trillions of Messages</cite></a>&nbsp;», sur <span class="italique">discord.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-03-08" data-sort-value="2023-03-08">8 mars 2023</time>)</small></span></span>
</li>
</ol></div>
</div>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<style data-mw-deduplicate="TemplateStyles:r194021218">
/* start https://fr.wikipedia.org/ */


.mw-parser-output .autres-projets>.titre{text-align:center;margin:0.2em 0}.mw-parser-output .autres-projets>ul{margin:0;padding:0}.mw-parser-output .autres-projets>ul>li{list-style:none;margin:0.2em 0;text-indent:0;padding-left:24px;min-height:20px;text-align:left;display:block}.mw-parser-output .autres-projets>ul>li>a{font-style:italic}@media(max-width:720px){.mw-parser-output .autres-projets{float:none}}


/* end https://fr.wikipedia.org/ */
</style>
<div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3></div>
<ul><li><a href="Base_de_donn%C3%A9es_orient%C3%A9e_objet" title="Base de données orientée objet">Base de données orientée objet</a></li>
<li><a href="Base_de_donn%C3%A9es_relationnelle" title="Base de données relationnelle">Base de données relationnelle</a></li>
<li><a href="Base_de_donn%C3%A9es_orient%C3%A9e_colonnes" title="Base de données orientée colonnes">Base de données orientée colonnes</a></li>
<li><a href="Base_de_donn%C3%A9es_orient%C3%A9e_documents" title="Base de données orientée documents">Base de données orientée documents</a></li>
<li><a href="Base_de_donn%C3%A9es_orient%C3%A9e_graphe" title="Base de données orientée graphe">Base de données orientée graphe</a></li>
<li><a href="Syst%C3%A8me_de_gestion_de_flux_de_donn%C3%A9es" title="Système de gestion de flux de données">Système de gestion de flux de données</a> (DSMS ou SGFD)</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<ul><li><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="http://nosql-database.org/"><cite style="font-style:normal;" lang="en">Your Ultimate Guide to the Non - Relational Universe!</cite></a>&nbsp;», nosql-database.org <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2013-04-03" data-sort-value="2013-04-03">3 avril 2013</time>)</small></span>&nbsp;: Liste régulièrement mise à jour des bases NoSQL avec liens vers les sites projets</li></ul>
<div class="navbox-container" style="clear:both;">


</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail des bases de données</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail du Web sémantique</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-08-12" href="https://fr.wikipedia.org/wiki/?title=NoSQL&amp;oldid=228060169">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>